package com.example.daiyinuo.builder;

/**
 * 本质就是高内聚低耦合，组件开发，
 * 尽量不修改原来的代码，有可扩展性，理解了这一点，
 * 关于Builder模式，我们一定要分清和模板方法的区别，
 * 其实就是到底谁承担了"监工"的责任，在模板方法中父类承担了这个责任，
 * 而在Builder中，有另外一个专门的类来完成这样的操作，这样做的好处是类的隔离
 */
public class TestBuilder {
    public static void main(String[] args) {
        String choice="plain";
        //String choice = "html";
        if (choice == "plain") {
            TextBuilder t = new TextBuilder();
            Director d = new Director(t);
            d.construct();
            System.out.println(t.getResult());
        } else if (choice == "html") {
            HtmlBuilder html = new HtmlBuilder();
            Director d = new Director(html);
            d.construct();
            System.out.println(html.getResult());
        }
    }
}
